802.11协议精读(4)Transmitter Block Diagram
在之前的精读系列(3)里,我们介绍了 PLCP 的 Header 部分,包含了 STF,LTF 以及 SIG 三个部分。
这里值得注意的是,Header 部分和 Data Field 部分其实遵循下图类似的 Transmitter Block Diagram,只是在一些细节层面上会有所不同。
因此在实际的仿真代码里,你会发现对于 STF,LTF 以及 SIG 的生成函数里,最后实际输出的都是经过 OFDM 调制后的时域波形。
举个例子,下图是 MATLAB 仿真中生成 HT-STF 的部分函数:
红框的部分代表在生成了对应的 HT-STF 后进行了对应的 OFDM 调制步骤。
如果是 Data Field 的部分,对应的步骤如前面的框图所示:
(1)Scramble and FEC coder
Scrambler 的作用可以理解为用一个伪随机数列和原有码字异或来打乱码字的顺序,这样避免出现一长串的 0 或者 1,尽可能让 0,1 的分布均匀。
FEC 在 802.11n 中有两种,一种是 BCC(Binary convolutional coding) ,另一种是新引入的 LDPC coder。
(2)Stream Parsing
Stream Parsing 的作用是将 FEC 编码得到后的码字分配给不同的 Spatial Stream。
(3)Interleave and Mapping
交织的作用是改变码字里比特的顺序,让 Burst Errors (突发错误)分布更加平均,避免出现一长串受到信道影响而出错的码字,这样译码器也很有更好的纠错性能。
不难发现,Interleave 和 Scrambler 的作用都是打乱码字,但 Scrambler 是避免发送的码字出现一连串 0或者1,用的是伪随机序列进行异或,而 Interleaver 则是重组码字的顺序,直接进行顺序交换。
(4)Space-Timing Coding (STBC)
关于STBC 的原理介绍请参考 [[MIMO的分集技术]]。在 802.11n 中,STBC 是可选的步骤,通过使用两根天线来发送同一个 Special Stream,来增加冗余,提高传输的稳定性。
(5)Spatial Mapping
这里我们直接来看标准里的英文原文,翻译成中文反而不太容易理解:
这里值得关注的是 Beamforming 这块,相比于之前的标准,是在 802.11n 里引入的新技术。
关于 Beamforming,我们来看下面一段话:
In essence, beamforming is an electrically steerable antenna. When transmitting to a given receiver, the antenna is “pointed” in the direction of the receiver, but the direction that the beam is focused can be controlled by subtly altering the phase shifts into the antenna system rather than mechanically moving the antenna.
总之,相比于以前的全方向(Omindirectional)天线模式,Beamforming 更像是把力气往一处使,从而提高某一发送方向的信号强度。
但这么做自然也有缺点:当 AP 像 Client 发送信息时用 Beamforming 技术提高了 SNR。但是当 Client 向 AP发送时,AP 可能正在用 Beamforming 技术想别的 Client 发送信息,导致 AP 无法很好地接收当前 client 发送的信息。
(6)Inverse Fourier Transform and cyclic shift
(7) GI Insertion and Windowing
第六步和第七步,我想不用我再介绍了,OFDM 调制的基础知识,更多标准里的实现细节大家参考标准就好。